package model

import (
	"boy-go/pkg/db"
	"time"
)

// SysRole 角色表 表：sys_role
type SysRole struct {
	RoleId            int64       `gorm:"primary_key;column:role_id"` // 角色ID
	RoleName          *string     `gorm:"column:role_name"`           // 角色名称
	RoleKey           *string     `gorm:"column:role_key"`            // 角色权限字符串
	RoleSort          *int64      `gorm:"column:role_sort"`           // 显示顺序
	DataScope         string      `gorm:"column:data_scope"`          // 数据范围（1：全部数据权限 2：自定数据权限 3：本部门数据权限 4：本部门及以下数据权限）
	MenuCheckStrictly *db.BitBool `gorm:"column:menu_check_strictly"` // 菜单树选择项是否关联显示
	DeptCheckStrictly *db.BitBool `gorm:"column:dept_check_strictly"` // 部门树选择项是否关联显示
	Status            *string     `gorm:"column:status"`              // 角色状态（0正常 1停用）
	DelFlag           string      `gorm:"column:del_flag"`            // 删除标志（0代表存在 2代表删除）
	CreateBy          *string     `gorm:"column:create_by"`           // 创建者
	CreateAt          *time.Time  `gorm:"column:create_time"`         // 创建时间
	UpdateBy          *string     `gorm:"column:update_by"`           // 更新者
	UpdateAt          *time.Time  `gorm:"column:update_time"`         // 更新时间
	Remark            *string     `gorm:"column:remark"`              // 备注
}

// TableName 表名
func (s SysRole) TableName() string {
	return "sys_role"
}
